package com.itheima.demo05;

public class TicketThread extends Thread {

    static int ticket = 0;//电影票  加 static 关键字使得 ticket 在 TicketThread 类中是唯一的

    static final Object obj = new Object();


    @Override
    public void run() {

        //多个线程会出现数据重复问题
        //第一步：需要在数据前面加 static
        //第二步: 需要在代码的地方加上 synchronized()方法 ,即同步锁 参数必须要是唯一的对象

        while (true) {
            synchronized (obj) {
                if (ticket < 100) {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                    ticket++;
                    System.out.println(Thread.currentThread().getName() + "卖第" + ticket + "张电影票");
                } else {
                    break;
                }
            }

        }

    }
}
